Итак, у нас есть внутренние команды и внешние. После того как в BAT файле находиться команда сначала проверяется есть ли такая команды внутри command.com. Например echo это внутренняя команда и исполняет ее command.com и если эта команды не найдена то будет произведен поиск файла с расширением exe или com. Смотрите на рисунок ниже.
Команды echo и cls будут обработаны внутри command.com. А команда edit.com не будет обработана ( кстати расширение можно не указывать) раз такой команды нет то будут исследованы все доступные пути на предмет файлов с таким названием и если файл будет найдет то он будет запущен. Это очень важно так как позволяет нам очень быстро используя простые средства разработки типа Turbo C++ или Turbo Pascal создавать расширения стандартных команд. Сразу скажу, что подобные программы должны создаваться для MS DOS, а современные средства разработки типа Visual C++ 6.0 не умеют создавать эти простенькие программы.